// 封装和牛马相关的功能
import request from '@/utils/request'
/**
 * 获取员工列表
 * @param {Object} params page pagesize departmentId keyword(可选)
 * @returns 请求
 */
export const getEmployeeList = (params) =>
  request({
    url: '/sys/user',
    method: 'get',
    params: params
    // {
    //   page: 1,
    //   pagesize: 20,
    //   departmentId: 1,
    //   keyword: ''
    // }
  })

/**
   *批量-导出员工excel
   *获取后端处理好的文件数据(二进制流 blob)
   * @returns 请求
   */
export const getFileData = () =>
  request({
    url: '/sys/user/export',
    method: 'get',
    // 数据类型
    responseType: 'blob'
  })

/**
 * 获取模板文件
 * @returns 请求
 */
export const getTemplateData = () => {
  return request({
    url: '/sys/user/import/template',
    responseType: 'blob'
  })
}

/**
 * 导入员工
 * @param {Object} data 文件数据
 * @returns 请求
 */
export const uploadExcel = (file) => {
  const formData = new FormData()
  formData.append('file', file)
  return request({
    url: '/sys/user/import',
    method: 'post',
    data: formData
  })
}

export function addEmployee(data) {
  return request({
    url: '/sys/user',
    method: 'post',
    data
  })
}

/**
 *  获取员工详情
 * **/

export function getEmployeeDetail(id) {
  return request({
    url: `/sys/user/${id}`
  })
}

export function updateEmployee(data) {
  return request({
    url: `/sys/user/${data.id}`,
    method: 'put',
    data
  })
}

/**
 * 获取可用的角色
 * **/

export function getEnableRoleList() {
  return request({
    url: '/sys/role/list/enabled'
  })
}

/**
 * 分配员工角色
 * ***/

export function assignRole(data) {
  return request({
    url: '/sys/user/assignRoles',
    method: 'put',
    data
  })
}
